// OSS客户端配置接口
export interface KSpaceConfig {
  // OSS服务地址
  endpoint: string;
  // 访问密钥ID
  accessKeyId: string;
  // 访问密钥密钥
  accessKeySecret: string;
  // 存储桶名称
  bucket: string;
  // 区域（可选）
  region?: string;
  // 安全协议，http或https（可选）
  secure?: boolean;
}

// 文件上传选项接口
export interface UploadOptions {
  // 上传的文件对象
  file: File | Buffer;
  // 文件在OSS中的路径
  key: string;
  // 存储类型（可选）
  storageClass?: 'Standard' | 'IA' | 'Archive';
  // 自定义元数据（可选）
  meta?: Record<string, string>;
  // 上传进度回调（可选）
  onProgress?: (progress: number, totalBytes: number, loadedBytes: number) => void;
}

// 文件上传结果接口
export interface UploadResult {
  // 文件路径
  key: string;
  // 文件URL
  url: string;
  // 文件大小（字节）
  size: number;
  // 上传时间戳
  uploadedAt: number;
  // ETag（文件哈希值）
  etag?: string;
}

// 错误响应接口
export interface ErrorResponse {
  code: string;
  message: string;
  requestId?: string;
}

// 文件信息接口
export interface FileInfo {
  key: string;
  size: number;
  lastModified: Date;
  etag?: string;
  contentType?: string;
  storageClass?: string;
}